﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ERP.Manager.DataEntity;

namespace ERP.Manager.DataProvider
{
    public interface IWorkRepository
    {
        #region 查询所有发布信息的方法
        List<WorkInfo> getWorks();
        #endregion

        #region 根据用户编号查询当前用户接收消息信息的方法
        List<WorkInfo> getWorksByToUserId(string UserId);
        #endregion

        #region 分页显示自己当前接收的任务
        List<WorkInfo> getworkinfobyuseridpagecount(string userid, int pagecount);
        #endregion

        #region 根据发布消息编号查询发布消息的详细信息
        WorkInfo getWorkById(int workId);
        #endregion

        #region 添加发布消息的方法
        int addWork(WorkInfo work);
        #endregion

        #region 修改发布消息的方法
        int updateWork(WorkInfo work);
        #endregion

        #region 删除发布信息的方法
        int deleteWorkById(int workId);
        #endregion

        #region 根据用户编号查询当前用户发布消息信息的方法
        List<WorkInfo> getWorksByFromUserId(string fromuserid, int pagecount);
        #endregion

        #region 查询正在进行工作的信息
        List<WorkInfo> allworkinfojinxing(string userid, int pagecount);
        #endregion

        #region 查询已完成工作任务的信息
        List<WorkInfo> allworkinfowancheng(string userid, int pagecount);
        #endregion

        #region  修改状态值为5或者结束时间小于当前时间
        int updateworkinfostatus(string userid);
        #endregion

        #region 查询已超期工作任务的信息
        List<WorkInfo> allworkinfochaoqi(string userid, int paegecount);
        #endregion

        #region 查询自己当前接收任务的详细信息
        WorkInfo getworkinfobyuseriddetail(string userid, int workid);
        #endregion

        #region 查询自己当前发布任务的详细信息
        WorkInfo getworkinfobyreleaseworkdetail(string userid, int workid);
        #endregion

        #region 修改工作任务的状态
        int updateworkstatus(WorkInfo workinfo);
        #endregion

        #region 查询自己当前发布的任务所有的条数记录
        int getworkinfobyreleaseworkcount(string fromuserid);
        #endregion

        #region 查询正在进行工作记录的总条数
        int allworkifojinxingcount(string touserid);
        #endregion

        #region 查询已完成工作任务的信息的总条数
        int allworkinfowanchengcount(string touserid);
        #endregion

        #region 查询已超期工作任务的信息的总条数
        int allworkinfochaoqicount(string touserid);
        #endregion

        #region 根据用户编号查询发布信息
        List<WorkInfo> getallworkfromuserid(string fromuserid);
        #endregion

        #region 根据用户编号删除发布信息
        int deleteworkfromuserid(string fromuserid);
        #endregion

        #region 进行的工作修改为已完成然后添加完成任务的备注信息
        int updateworkstatusandworkinfonote(WorkInfo work);
        #endregion
    }
}
